http://ideone.com/CIzkJf